// 测试 symbol 原始值 和 Symbol实例

// 将 Symbol 作普通函数时用于根据 指定的标识符 返回原始类型中的 symbol 类型
const primitive = Symbol('1001');
console.log( primitive , typeof primitive );

// 创建一个Symbol实例并在其中包裹指定的原始值
// const wrapper = new Symbol( primitive ); // TypeError: Symbol is not a constructor
// 借助 Object 构造函数将 Symbol 原始值包裹到一个 Symbol 实例中
const wrapper = new Object( primitive ); 
console.log( wrapper , typeof wrapper );

// 获得在Symbol实例中所包裹的原始值 ( Symbol.prototype.valueOf )
const p = wrapper.valueOf();
console.log( p , typeof p );

// 获得在Symbol实例中所包裹的symbol值的描述信息 ( Symbol.prototype.description )
console.log( wrapper.description );

